]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
workspacesView: Always clip to allocation
authorFlorian Müllner <fmuellner@gnome.org>
Mon, 31 Aug 2020 19:11:18 +0000 (21:11 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Fri, 2 Oct 2020 17:49:40 +0000 (19:49 +0200)
We couldn't clip workspaces views during the overview transition
when we used the "porthole" approach, but as view's allocation
now always matches the expected visible area, we can just apply
the clip unconditionally.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3208

js/ui/workspacesView.js

index c3ad4b6cf02c5a117b74ff625627acfc54d9e064..3b38bee02aa44db35b544278ca469f1e125c1a8d 100644 (file)
@@ -74,6 +74,7 @@ class WorkspacesView extends WorkspacesViewBase {
         let workspaceManager = global.workspace_manager;
 
         super._init(monitorIndex);
+        this.clip_to_allocation = true;
 
         this._animating = false; // tweening
         this._gestureActive = false; // touch(pad) gestures
@@ -96,10 +97,6 @@ class WorkspacesView extends WorkspacesViewBase {
                     (ws, i) => this.set_child_at_index(ws, i));
             });
 
-        this._overviewShownId = Main.overview.connect('shown', () => {
-            this.clip_to_allocation = true;
-        });
-
         this._switchWorkspaceNotifyId =
             global.window_manager.connect('switch-workspace',
                                           this._activeWorkspaceChanged.bind(this));
@@ -147,8 +144,6 @@ class WorkspacesView extends WorkspacesViewBase {
     }
 
     animateFromOverview(animationType) {
-        this.clip_to_allocation = false;
-
         for (let w = 0; w < this._workspaces.length; w++) {
             if (animationType == AnimationType.ZOOM)
                 this._workspaces[w].zoomFromOverview();
@@ -232,7 +227,6 @@ class WorkspacesView extends WorkspacesViewBase {
         super._onDestroy();
 
         this._scrollAdjustment.disconnect(this._onScrollId);
-        Main.overview.disconnect(this._overviewShownId);
         global.window_manager.disconnect(this._switchWorkspaceNotifyId);
         let workspaceManager = global.workspace_manager;
         workspaceManager.disconnect(this._updateWorkspacesId);